#include "Coord.h"

Coord::Coord()
	: x(0), y(0) {
}

Coord::Coord(Coord const & pCoord) {
	x = pCoord.getX();
	y = pCoord.getY();
}

Coord::Coord(int pX, int pY) 
	: x(pX), y(pY) {
}

Coord & Coord::operator=(Coord const & pCoord) {
	x = pCoord.getX();
	y = pCoord.getY();
	return *this;
}

bool Coord::operator==(Coord const & pCoord) const {
	return x == pCoord.getX() && y == pCoord.getY();
}

bool Coord::operator!=(Coord const & pCoord) const {
	return x != pCoord.getX() || y != pCoord.getY();
}

bool Coord::operator<(Coord const & pCoord) const {
	return x < pCoord.getX() || (x == pCoord.getX() && y < pCoord.getY());
}

bool Coord::operator<=(Coord const & pCoord) const {
	return *this < pCoord || *this == pCoord;
}

bool Coord::operator>(Coord const & pCoord) const {
	return x > pCoord.getX() || (x == pCoord.getX() && y > pCoord.getY());
}

bool Coord::operator>=(Coord const & pCoord) const {
	return *this > pCoord || *this == pCoord;
}

int Coord::getX() const {
	return x;
}

int Coord::getY() const {
	return y;
}
